home *** CD-ROM | disk | FTP | other *** search
/ Champak 145 / (Vol 145) Dec 21 2011.iso / Games / magic-heaven.swf / scripts / __Packages / key_func.as
Encoding:
Text File  |  2011-12-21  |  2.8 KB  |  116 lines

  1. class key_func extends MovieClip
  2. {
  3.    var prop;
  4.    var oldVal;
  5.    var newVal;
  6.    var mid_val;
  7.    var once;
  8.    var num;
  9.    var m_obj;
  10.    function key_func(arr, OBJ, OBJ2, tmp, func_, time)
  11.    {
  12.       function funcForObj()
  13.       {
  14.          if(OBJ.num > 1)
  15.          {
  16.             if(arguments[2] - arguments[1] > time || arguments[2] - arguments[1] < 0)
  17.             {
  18.                OBJ2.blo = true;
  19.                OBJ.num = 1;
  20.                OBJ2.what = 0;
  21.             }
  22.             else if(arguments[2] - arguments[1] <= time)
  23.             {
  24.                if(Key.getCode() == arr[OBJ2.what + 1])
  25.                {
  26.                   OBJ2.what = OBJ2.what + 1;
  27.                }
  28.                if(OBJ2.what == arr.length - 1)
  29.                {
  30.                   func_(this.prop,this.oldVal,this.newVal,this.mid_val);
  31.                   OBJ.num = 0;
  32.                   OBJ2.what = 0;
  33.                }
  34.             }
  35.          }
  36.       }
  37.       super();
  38.       var OBJ = new Object();
  39.       var OBJ2 = new Object();
  40.       OBJ2.key;
  41.       OBJ2.what = 0;
  42.       OBJ.num = 0;
  43.       OBJ.num2 = 0;
  44.       OBJ.onKeyDown = function()
  45.       {
  46.          if(this.once == undefined)
  47.          {
  48.             this.once = 1;
  49.             if(OBJ2.blo == undefined)
  50.             {
  51.                if(Key.getCode() == arr[this.num])
  52.                {
  53.                   this.num = this.num + 1;
  54.                }
  55.             }
  56.             else if(Key.getCode() == arr[this.num] && OBJ2.blo !== undefined)
  57.             {
  58.                this.num = this.num + 1;
  59.             }
  60.             else if(Key.getCode() != arr[this.num])
  61.             {
  62.                this.num = 0;
  63.                delete OBJ2.blo;
  64.             }
  65.             OBJ2.key = getTimer();
  66.             if(this.num > arr.length)
  67.             {
  68.                this.num = 0;
  69.             }
  70.          }
  71.       };
  72.       var cnt = 0;
  73.       tmp.onEnterFrame = function()
  74.       {
  75.          cnt++;
  76.          if(cnt > 2)
  77.          {
  78.             delete OBJ.once;
  79.             cnt = 0;
  80.          }
  81.       };
  82.       OBJ.onKeyUp = function()
  83.       {
  84.          delete this.once;
  85.       };
  86.       Key.addListener(OBJ);
  87.       this.watch(OBJ2,OBJ2.key,"key",funcForObj,0);
  88.    }
  89.    function watch(Obj, val, string, func, mid_val)
  90.    {
  91.       if(Obj.once_run == undefined)
  92.       {
  93.          Obj.once_run = 1;
  94.          if(Obj == undefined)
  95.          {
  96.             Obj = {};
  97.             Obj.val;
  98.          }
  99.          if(mid_val == undefined)
  100.          {
  101.             mid_val = 0;
  102.          }
  103.          var _loc4_ = function(prop, oldVal, newVal, mid_val)
  104.          {
  105.             func(prop,oldVal,newVal,mid_val);
  106.             if(newVal == "unwatch")
  107.             {
  108.                this.m_obj.unwatch();
  109.             }
  110.             return newVal;
  111.          };
  112.          Obj.watch(string,_loc4_,mid_val);
  113.       }
  114.    }
  115. }
  116.